1. Field on the Invention
The invention relates to storage subsystem control methods and structures and more specifically relates to methods and structures for utilizing non-SCSI enclosure backplane devices in a storage subsystem designed for SCSI interfacing.
2. Related Patents
The patent application is related to co-pending, commonly owned U.S. patent application Ser. No. 10/207,672, entitled METHODS AND STRUCTURE FOR SCSI/IDE TRANSLATION IN A STORAGE SUBSYSTEM, filed Jul. 29, 2002 which is hereby incorporated by reference and is referred to herein as the “related patent.”
3. Discussion of Related Art
High-capacity, high-performance storage subsystems often utilize a plurality of disk drives to achieve redundancy for enhanced reliability and to achieve performance improvements. Reliability is enhanced by creating redundancy information to be stored in the storage subsystem in addition to the user or host supplied data. Further, the user data and redundancy information may be distributed over multiple disk drives so that failure of any single disk drive will not cause loss of data or prevent continued utilization of the storage subsystem. In addition, performance of a storage subsystem may be enhanced by distributing stored data (user and/or redundancy data) over multiple disk drives so that I/O requests may be processed by multiple disk drives in parallel rather than waiting for operations to complete on a single disk drive.
Often, such storage subsystems utilizing multiple disk drives are designed to utilize SCSI interface disk drives. The SCSI interface (small computer system interface) disk drives often provide higher performance as compared to lower-cost, commodity disk drives. High-performance subsystems therefore often utilize such higher performance SCSI disk drives. The SCSI standard is well documented and readily available in printed or electronic form from numerous source. For example, one version of the SCSI standards may be found at: http://www.micro-magic.comlftplscsi2.pdf. Numerous older and updated versions may be readily located by those of ordinary skill in the art. As used here, “SCSI” refers to any and all present, future and past versions of the SCSI specifications. The problems addressed herein and the solutions provided by the present invention are applicable to systems using disk drives compliant with any and all versions of the SCSI standard specifications.
One common type of storage subsystem is referred to as a RAID storage subsystem (redundant array of independent drives). Such a RAID storage subsystem typically includes one or more storage controllers to provide processing functionality for receiving and processing host system supplied I/O requests and for managing lower-level manipulation of information stored on and retrieved from a plurality of disk drives associated with the subsystem. The storage controller performs required management and processing to effectuate the RAID storage management techniques. In particular, a RAID storage controller manages generation, storage and retrieval of redundancy information and associated host supplied data and also manages the distribution (striping) of data over the multiple disk drives.
In view of the traditional preference for high performance SCSI disk drives, many RAID storage controllers are designed and programmed in a manner optimized for utilization of such high-performance SCSI disk drives. The SCSI interface standards describe command structures and associated data structures useful in interacting with SCSI disk drives and other SCSI devices. SCSI oriented RAID storage controllers therefore are designed to expect and utilize such structures and command interfaces. The control processes (i.e., firmware) operable within typical RAID controllers designed for SCSI disk drives therefore are typically designed assuming use of standard SCSI commands and status as well as standard data structures used for interacting with such SCSI disk drives.
Non-SCSI disk drives such as IDE interface disk drives have advanced substantially in performance and remain substantially less expensive than higher performance SCSI disk drives. The related application discusses methods and structures for translating between SCSI and IDE for status information exchange and for command sequence exchange. This allows existing RAID controller architectures to be easily ported to systems using less expensive IDE disk drives without requiring significant re-design of the RAID control structures and processes.
TO further enhance ease of use and reliability of a storage subsystem, disk drives are often physically mounted in enclosures (i.e., cabinets) designed for ease of replacement of disk drives (i.e., so called “hot swap” of failed disk drives without requiring stoppage of the entire subsystem). Typically in such enclosures, disk drives are adapted to plug (“hot plug”) into a backplane configured to accept a plurality of such disk drives. All power, data and control signals associated with the disk drives are routed through the backplane. Thus, removal or insertion of a disk drive is a simpler process. It is slid into a backplane slot or slid out of a backplane slot.
In addition, such enclosures often include enhanced reliability features. A storage subsystem may fail due to reasons other than failure of a disk drive, per se. A storage subsystem includes power supplies for powering the disk drives in the subsystem, fans for cooling the disk drives and the entire subsystem, etc. Enclosures therefore often include redundant power supplies and fans so that failure of a single power supply of fan, like failure of a single disk drive, will not disable all operation of the subsystem. Power supplies and fans are also adapted for easy, “hot” insertion and removal to replace failed components. Redundant temperature sensors are often integrated into such enclosures to sense environmental conditions outside of specification that may lead to future failures.
These enclosures, backplanes and other redundant components are also designed to communicate with controller components (i.e., RAID controllers) using SCSI standards for exchange of information (i.e., sensing drive presence/absence, temperature, power and other environmental aspects of the enclosure and its contents). The SCSI “SAF-TE” standard and the SCSI Enclosure Standard (“SES”) are two specifications in the family of SCSI standards that provide standardized specifications for communications with such enclosures and the various components within the enclosure. These standards address communications with features of the enclosure other than the exchange of data stored on the disk drives.
As IDE disk drives have evolved, so too has a new line of commercial products for enclosures based on lower-cost IDE disk drives. Backplanes for such enclosures are rapidly evolving that utilize IDE standards for disk drive interfacing. Power supplies, fan components, sensors of various types are designed in conjunction with such IDE backplanes and utilize IDE-like command structures for exchange of environmental information with a controller (i.e., RAID controller).
It is evident from the above discussion that a need exists for methods and associated structure to simplify adaptation of a storage controller for utilization of a variety of enclosures and communication with components within such enclosures.